namespace CookieTerm.MdiTabStrip
{
    using Microsoft.VisualBasic;
    using System;
    using System.Collections;
    using System.Collections.Generic;
    using System.Data;
    using System.Diagnostics;
    using System.ComponentModel;
    using System.Drawing;

    public class MdiTabProperties
    {

        private Color _backColor;
        private Color _foreColor;
        private Font _font;
        internal event PropertyChangedEventHandler PropertyChanged;
        internal delegate void PropertyChangedEventHandler();

        [Category("Tab Appearance"), Description("The background color of the tab.")]
        public Color BackColor
        {
            get { return _backColor; }
            set
            {
                if (_backColor != value)
                {
                    _backColor = value;
                    if (PropertyChanged != null)
                    {
                        PropertyChanged();
                    }
                }
            }
        }

        [Category("Tab Appearance"), Description("The text color of the tab.")]
        public Color ForeColor
        {
            get { return _foreColor; }
            set
            {
                if (_foreColor != value)
                {
                    _foreColor = value;
                    if (PropertyChanged != null)
                    {
                        PropertyChanged();
                    }
                }
            }
        }

        [Category("Tab Appearance"), Description("The font used to display the text of the tab.")]
        public Font Font
        {
            get { return _font; }
            set
            {
                if ((!object.ReferenceEquals(_font, value)))
                {
                    _font = value;
                    if (PropertyChanged != null)
                    {
                        PropertyChanged();
                    }
                }
            }
        }

        protected void InvokePropertyChanged()
        {
            if (PropertyChanged != null)
            {
                PropertyChanged();
            }
        }
    }

    //=======================================================
    //Service provided by Telerik (www.telerik.com)
    //Conversion powered by NRefactory.
    //Twitter: @telerik
    //Facebook: facebook.com/telerik
    //=======================================================
}